RTX64 Objects
Use the RTX64 Objects utility to view information about RTSS processes and their associated objects, such as events, semaphores, and loaded RTDLLs.
To view RTSS process information:
Type the following in a command
prompt from %INSTALL DIR%\IntervalZero\RTX64\bin
:
rtssrun RTX64Objects.rtss [/a]
Parameters
/a or /all
Provides information for internal system processes and Windows proxy processes in addition to RTSS processes.
Results
RTX64 Objects lists each type of RTSS object, followed by its memory address in the kernel address space and the process ID. It also lists information specific to each particular object:
Process — Gives the name or type of process and affinity mask, followed by each thread object owned by that process.
Thread — Provides the priority, affinity mask, current processor the thread is running on, and state of the thread, plus the value of the flag settings which indicate certain thread behaviors. RTX64 assigns a priority value to each thread in the user's process, with values ranging from 0 to 127. Threads that have negative priority numbers belong to system processes. The thread flags have the following assignments:
Value | Meaning |
---|---|
0x1 |
Do not free the thread's stacks |
0x2 | Thread's stack is not freed |
0x4 |
Thread is terminated |
0x8 |
Thread cannot be resumed |
0x10 |
Interrupt service thread |
0x20 |
Thread has used FPU/MMX/XMM |
0x40 | Timer service thread |
0x80 | Shutdown service thread |
Timer — Provides the clock number, the remaining time, and the timing interval.
Semaphore — Provides the count, max count, and the object name (if there is one).
Mutex — Provides the count, owner, and its object name (if there is one).
Shared memory — Provides the base memory address, the size of the shared memory, and the object name.
RTDLL — Provides the count, address of the owner, and the object name.
Event — Provides the state of the event, whether the event is reset manually or not, and the name of the event.
File — Provides the Windows handle for the file and the filename.
Device PCI slot — Lists the object count.
Return Value
0 (zero) if process succeeds.
If process fails:
- 1 - Invalid parameter
- 2 - Can't allocate memory of size N
- 3 - Buffer overflow
Remarks
This utility requires the Subsystem to lock all objects while data is being collected. As a result, you may experience latency within your RTSS application while the utility is in use.
NOTE: For Real-time Proxy Processes, PID indicates the Windows process ID and TID indicates the RTSS proxy thread ID in the RTSS thread ID domain.
Example Output
========== RTX64Objects - 3.7.0 =========
Object(ID) Address Information
---------- ------- -----------
Process 0xfffff80080ac8c40 *** Internal System Process ***
Thread(0x00001) 0xfffff800808e94a0 Pri=0xffffffff Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=Suspended
Thread(0x00002) 0xfffff80080a997e0 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x00003) 0xfffff80080a9b640 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x00004) 0xfffff80080a85280 Pri=0x7f Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Process(0x00003960) 0xffffe000ada00000 Mask=0x00000004 AffinedProcessor=0x02 *** Real-time Proxy Process ***
Thread(0x0002e) 0xffffe000ada08a88 Pri=0x00 Flags=0x0001 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Thread(0x0002f) 0xffffe000ace09000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal
Command "C:\Program Files\IntervalZero\RTX64\bin\RtTCPIP.rtss"
Process(0x000003f9) 0xffffe000ada23000 Mask=0x00000ffc AffinedProcessor=0x02
Thread(0x00031) 0xffffe000a5aa8000 Pri=0x00 Flags=0x0021 Mask=0x00000ffc AffinedProcessor=0x02 State=Waiting
Thread(0x00032) 0xffffe000ab123000 Pri=0x42 Flags=0x0060 Mask=0x00000ffc AffinedProcessor=0x02 State=WaitInternal
Timer 0xffffe000a5a82680 Clock=0x2 Remain=0x0000e86c(us) Interval=0x000186a0(us)
Thread(0x00033) 0xffffe000ab51f000 Pri=0x3f Flags=0x0000 Mask=0x00000ffc AffinedProcessor=0x02 State=Waiting
Thread(0x00037) 0xffffe000adde6000 Pri=0x41 Flags=0x0040 Mask=0x00000ffc AffinedProcessor=0x02 State=WaitInternal
Timer 0xffffe000aad11610 Clock=0x2 Remain=0x00000064(us) Interval=0x00000064(us)
Thread(0x00038) 0xffffe000addf0000 Pri=0x40 Flags=0x0000 Mask=0x00000ffc AffinedProcessor=0x02 State=Waiting
Thread(0x0003b) 0xffffe000addfe000 Pri=0x00 Flags=0x0000 Mask=0x00000ffc AffinedProcessor=0x02 State=WaitInternal
Thread(0x0003c) 0xffffe000aded4000 Pri=0x7f Flags=0x0080 Mask=0x00000ffc AffinedProcessor=0x02 State=WaitInternal
Shutdown 0xffffe000add1f080
Process(0x00000001) 0xffffe000add73000 Mask=0x00000004 AffinedProcessor=0x02 *** Real-time Proxy Process *** Thread(0x00034) 0xffffe000add7ba88 Pri=0x00 Flags=0x0001 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Thread(0x00035) 0xffffe000adbf9000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Thread(0x00036) 0xffffe000adbfb000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=Waiting Thread(0x00039) 0xffffe000addfa000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Thread(0x0003a) 0xffffe000addfc000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Thread(0x0003e) 0xffffe000ada1d000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Thread(0x0003f) 0xffffe000ada1f000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Thread(0x00040) 0xffffe000ada21000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Thread(0x00045) 0xffffe000adfa6000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Process(0x00004308) 0xffffe000ace36000 Mask=0x00000004 AffinedProcessor=0x02 *** Real-time Proxy Process *** Thread(0x00069) 0xffffe000ace3ea88 Pri=0x00 Flags=0x0001 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Thread(0x0006a) 0xffffe000a9fca000 Pri=0x00 Flags=0x0000 Mask=0x00000004 AffinedProcessor=0x02 State=WaitInternal Command rtx64objects.rtss -a Process(0x0000040b) 0xffffe000ace49000 Mask=0x00000ffc AffinedProcessor=0x02 Thread(0x0006b) 0xffffe000aa21a000 Pri=0x00 Flags=0x0001 Mask=0x00000ffc AffinedProcessor=0x02 State=Ready Events: 0xffffe000ab4ac1a0 State=1 ManualReset=0 Name="RTX64TCPIPSTART" 0xffffe000acfe2010 State=0 ManualReset=0 Name="** UNNAMED **" 0xffffe000ab52a7a0 State=1 ManualReset=1 Name="VNIC_UP" 0xffffe000ab4807a0 State=0 ManualReset=1 Name="VNIC_DOWN" 0xffffe000ab52d010 State=0 ManualReset=1 Name="VNIC_SHTDN" 0xffffe000adde2010 State=0 ManualReset=1 Name="VNIC_PENDING_RX" 0xffffe000adde3010 State=0 ManualReset=1 Name="VNIC_PENDING_TX" 0xffffe000adde5010 State=0 ManualReset=1 Name="** UNNAMED **" 0xffffe000adede010 State=0 ManualReset=0 Name="__STACK_ATTACH_EVENT__" Semaphores: 0xffffe000adb057a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.1" 0xffffe000adb0e7a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.2" 0xffffe000adb177a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.3" 0xffffe000adb207a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.4" 0xffffe000adb297a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.5" 0xffffe000adb327a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.6" 0xffffe000adb3b7a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.7" 0xffffe000adb447a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.8" 0xffffe000adb4d7a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.9" 0xffffe000adb567a0 Count=0x00000000 MaxCount=0x00000001 Name="rtnsem.10" Mutexes: 0xffffe000adafc780 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000a5aab010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000aa318010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000aa25d010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab0d1010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab023010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000aad99010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000a6086010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab01f010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab088010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab0ba010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab0c6010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab119010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab427010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" 0xffffe000ab42a010 Count=0x00000000 Owner=0x0000000000000000 Name="** UNNAMED **" Shared Memory: 0xffffe000a5b18c60 BaseMemory=0xffffe000ab4aa000 Size=0x00001000 Name="RTXTCPHEAPSTATUS" 0xffffe000a5a685b0 BaseMemory=0xffffe000ab4a3000 Size=0x00001000 Name="RTXTCPSTACKCONTROL" 0xffffe000ab1118d0 BaseMemory=0xffffe000ade00000 Size=0x000bc000 Name="VNIC_SHM" DLL Process References: 0xffffe000ab1fd240 Count=0x00000001 Name="RtVirtualNic_1017" ============== End RTX64Objects ==============